# Installation Guide

This page shows the fastest way to get ManipulaPy on your machine and explains the optional extras published on PyPI — they mirror the names you see in pyproject.toml (gpu‑cuda11 & co.).

All commands assume you are inside a fresh virtual environment (python -m venv or Conda). ManipulaPy supports Python 3.8 – 3.12 on Linux, macOS (CPU‑only), and Windows/WSL2.

## System requirements

=================== ============================================================= Component Minimum / recommended =================== ============================================================= CPU x86‑64 or Apple Silicon (runs in Rosetta) RAM 4 GB min / 8 GB recommended GPU (optional) NVIDIA CUDA 11.8 / 12.4 or AMD ROCm 5.7 =================== =============================================================

## Quick install (CPU‑only)

If you do not need GPU acceleration right away:


pip install manipulapy

This brings in all core features — kinematics, dynamics, perception, trajectory planning, PyBullet sim, OpenCV, Torch, scikit‑learn, etc. Nothing else to add.

## GPU extras

ManipulaPy ships several “extras” so you can choose the CUDA flavour that matches your driver:

========================== When to use Command ========================== ———————————————— —————————————- CUDA 11.x (470+ drivers) Most LTS distro packages pip install manipulapy[gpu-cuda11] CUDA 12.x (535+ drivers) Latest NVIDIA toolkits / Ubuntu 24.04 pip install manipulapy[gpu-cuda12] AMD ROCm 5.6+ Recent Radeon/MI cards pip install manipulapy[gpu-rocm] Legacy PyCUDA Prefer pycuda API over CuPy pip install manipulapy[gpu-pycuda] Meta‑extra (defaults CUDA11) Installs CuPy 11 build pip install manipulapy[gpu] ========================== ———————————————— —————————————-

After the install you can verify CUDA access:


import cupy as cp print(“CUDA available:”, cp.cuda.is_available()) print(“Device count:”, cp.cuda.runtime.getDeviceCount())

## Development & docs

## Conda & Docker

ManipulaPy is mirrored on conda‑forge and as ready‑made Docker images:


# Conda CPU build

conda install -c conda-forge manipulapy

# Docker (CPU)

docker pull manipulapy/manipulapy:cpu-latest

# Docker (GPU, CUDA 12)

docker pull manipulapy/manipulapy:cuda12-latest docker run –gpus all -it manipulapy/manipulapy:cuda12-latest

## Troubleshooting

  • ImportError: No module named ‘cupy’ – install the matching extra (see table).

  • CUDA out of memory – lower batch sizes or hide the GPU:

    
    

    CUDA_VISIBLE_DEVICES=”” python your_script.py # forces CPU fallback

  • Windows build errors – ensure Microsoft C++ Build Tools are installed.

## Update / Upgrade


pip install –upgrade manipulapy # upgrades the core pip install –upgrade “manipulapy[gpu-cuda12]” # upgrade with extras

## Next steps

  • :doc:quickstart – run your first pick‑and‑place

  • :doc:user_guide/kinematics – learn the API in depth

  • :doc:examples/basic_manipulation – full end‑to‑end notebook